#!/data/data/com.termux/files/usr/bin/sh
echo "=========================================="
echo "ZeroTermux一键配置-By渐行渐远渐陌生"
echo "静默安装中,请等等……"
echo "=========================================="
# 调用代码
# sh -c "$(curl -fsSL https://gitee.com/jianxingjiany/cloud-based-files/raw/master/%E9%85%8D%E7%BD%AEapktool.sh)"

# 修改 pkg 源
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list
sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list
sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list


echo "----------------------------------------------"

# set -x  # 启用调试模式
# set +x  # 关闭调试模式
echo "termux 升级中,耗时长……请等待"
yes | pkg update >/dev/null 2>&1
yes | pkg upgrade >/dev/null 2>&1
echo "termux 升级完成"
echo ""

echo "----------------------------------------------"
#确保termux有储存权限
# 检查存储权限
termux-setup-storage

#首先确保您的环境已安装 git、wget 和 unzip 等工具。
# 检查并安装必要的工具
zhu_PATH="/data/data/com.termux/files/usr/bin"
if [ -f "$zhu_PATH/pv" ]; then
    echo "pv 已安装。"
else
    pkg install pv -y >/dev/null 2>&1
    echo "pv 安装成功。"
fi

if [ -f "$zhu_PATH/wget" ]; then
    echo "wget 已安装。"
else
    pkg install wget -y >/dev/null 2>&1
    echo "wget 安装成功。"
fi

if [ -f "$zhu_PATH/which" ]; then
    echo "which 已安装。"
else
    pkg install which -y >/dev/null 2>&1
    echo "which 安装成功。"
fi

if [ -f "$zhu_PATH/git" ]; then
    echo "git 已安装。"
else
    pkg install git -y >/dev/null 2>&1
    echo "git 安装成功。"
fi

if [ -f "$zhu_PATH/tsu" ]; then
    echo "tsu 已安装。"
else
    pkg install tsu -y >/dev/null 2>&1
    echo "tsu 安装成功。"
fi

if [ -f "$zhu_PATH/zip" ]; then
    echo "zip 已安装。"
else
    pkg install zip -y >/dev/null 2>&1
    echo "zip 安装成功。"
fi

if [ -f "$zhu_PATH/unzip" ]; then
    echo "unzip 已安装。"
else
    pkg install unzip -y >/dev/null 2>&1
    echo "unzip 安装成功。"
fi

if [ -f "$zhu_PATH/openssl" ]; then
    echo "openssl-tool 已安装。"
else
    pkg install openssl-tool -y >/dev/null 2>&1
    echo "openssl 安装成功。"
fi

if [ -f "$zhu_PATH/proot" ]; then
    echo "proot 已安装。"
else
    pkg install proot -y >/dev/null 2>&1
    echo "proot 安装成功。"
fi

if [ -f "$zhu_PATH/aapt" ]; then
    echo "aapt 已安装。"
else
    pkg install aapt -y >/dev/null 2>&1
    echo "aapt 安装成功。"
fi

if [ -f "$zhu_PATH/aapt2" ]; then
    echo "aapt2 已安装。"
else
    pkg install aapt2 -y >/dev/null 2>&1
    echo "aapt2 安装成功。"
fi


echo "----------------------------------------------"
# 检查 Python3 是否已安装
if command -v python3 &>/dev/null; then
    echo "Python3 已安装。"
else
    pkg install python3 -y >/dev/null 2>&1
    if [ $? -eq 0 ]; then
        echo "Python3 安装成功。"
    else
        echo "Python3 安装失败，请检查您的网络连接或软件源配置。"
    fi
fi

pkg install python-pip -y >/dev/null 2>&1
# 不能用-y或yes |
pip3 install flask >/dev/null 2>&1

echo "----------------------------------------------"
#安装java
# 检查 Java 是否已安装
if ! command -v java &>/dev/null; then
    pkg install openjdk-17 -y >/dev/null 2>&1
    if [ $? -eq 0 ]; then
        echo "java 安装成功。"
    else
        echo "java 安装失败，请检查您的网络连接或软件源配置。"
    fi
else
    echo "Java 已安装，版本为：$(java -version)"
fi

echo "----------------------------------------------"
# 下面是安装apktool
APKTOOL_PATH="/data/data/com.termux/files/usr/bin/apktool"
APKTOOL_URL="https://gitee.com/jianxingjiany/cloud-based-files/raw/master/apktool"
# 文件路径
APKTOOL_JAR_PATH="/data/data/com.termux/files/usr/bin/apktool.jar"
# APKTool 下载链接（根据需要替换为实际的下载链接）
APKTOOL_JAR_URL="https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.11.1.jar"

# 由于不能用-o指向下载所以要先删旧版
# 检查apktool旧版文件是否存在
if [ -f "/data/data/com.termux/files/home/apktool" ]; then
    yes | rm /data/data/com.termux/files/home/apktool
fi
# 检查apktool旧版文件是否存在
if [ -f "$APKTOOL_PATH" ]; then
    yes | rm $APKTOOL_PATH
fi

#不是直链，不能直接-o 目标文件夹和名称
echo "apktool 开始下载……"
wget -q --show-progress --progress=bar "$APKTOOL_URL"
if [ $? -eq 0 ]; then
    echo "apktool 下载完成。"
    mv ~/apktool $APKTOOL_PATH
else
    echo "apktool 下载失败。"
fi

# 检查 apktool.jar 是否存在
if [ -f "$APKTOOL_JAR_PATH" ]; then
    echo "apktool.jar 已存在。"
else
    echo "apktool.jar 开始下载……"
    wget -q --show-progress --progress=bar "$APKTOOL_JAR_URL" -O "$APKTOOL_JAR_PATH"
    if [ $? -eq 0 ]; then
        echo "apktool.jar 下载完成。"
    else
        echo "apktool.jar 下载失败。"
    fi
fi

# #创建一个可执行的apktool，不需要了，直接下载apktool二进制执行文件
# # apktool 脚本路径
# APKTOOL_SCRIPT="/data/data/com.termux/files/usr/bin/apktool"
# # 创建 apktool 脚本并写入内容
# echo '#!/data/data/com.termux/files/usr/bin/sh' > "$APKTOOL_SCRIPT"
# echo 'java -jar /data/data/com.termux/files/usr/bin/apktool.jar "$@"' >> "$APKTOOL_SCRIPT"

# 赋予文件执行权限
chmod +x /data/data/com.termux/files/usr/bin/apktool*
echo "apktool 已赋予执行权限。"
# 将以下行添加到环境变量中：
echo 'export PATH="$PATH:/data/data/com.termux/files/usr/bin"' >>~/.bashrc
. ~/.bashrc

echo "----------------------------------------------"
# 下面是安装aapt
# 创建一个目录来放置 Android SDK
mkdir -p $HOME/android-sdk
# 设置文件路径和目标解压目录
BUILD_TOOLS_ZIP="$HOME/build-tools_r30.0.3-linux.zip"
TARGET_DIR="$HOME/android-sdk/"

function function_jieya_bt() {
    # 解压缩文件到目标目录，确保覆盖已存在的文件
    echo "build-tools.zip 正在解压……"
    unzip -o "$1" -d "$2" >/dev/null 2>&1
    # 检查解压命令的执行状态
    if [ $? -eq 0 ]; then
        echo "build-tools.zip 解压完成。"
        # 删除压缩文件
        rm -f "$1"
        # 在 Termux 中，您需要将 aapt 路径添加到您的环境变量中
        echo 'export PATH="$PATH:/data/data/com.termux/files/home/android-sdk/android-11"' >>~/.bashrc
        # 运行以下命令，以使更改生效：
        . ~/.bashrc
    else
        echo "build-tools.zip 解压失败。"
    fi
}

# 检查文件是否存在
if [ -f "$BUILD_TOOLS_ZIP" ]; then
    # 定义总步骤数
    echo "build-tools.zip 已存在，无需再下载。"
    function_jieya_bt "$BUILD_TOOLS_ZIP" "$TARGET_DIR"
else
    echo "build-tools.zip 开始下载……"
    # 下载 Android SDK Build Tools（根据需要选择版本）
    wget -q --show-progress --progress=bar https://dl.google.com/android/repository/build-tools_r30.0.3-linux.zip -O "$BUILD_TOOLS_ZIP"
    # 检查下载命令的执行状态
    if [ $? -eq 0 ]; then
        echo "build-tools.zip 下载完成。"
        function_jieya_bt "$BUILD_TOOLS_ZIP" "$TARGET_DIR"
    else
        echo "build-tools.zip 下载失败"
    fi

fi

echo "----------------------------------------------"
# 下面是另一种安装aapt
# 设置命令行工具的下载链接和文件名
COMMAND_LINE_TOOLS_ZIP="$HOME/commandlinetools-linux-11076708_latest.zip"
DOWNLOAD_URL="https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip"
Sdk_DIR="$HOME/Android-Sdk"

function function_jieya_CT() {
    # 创建目标目录（如果不存在）
    mkdir -p "$Sdk_DIR"
    # 解压缩文件到目标目录，确保覆盖已存在的文件
    echo "commandlinetools 正在解压 ……"
    echo "$1" "$2"
    unzip -o "$1" -d "$2" >/dev/null 2>&1
    # 检查解压命令的执行状态
    if [ $? -eq 0 ]; then
        echo "commandlinetools 解压完成。"
        # 删除压缩文件
        rm -f "$1"
        # 在 Termux 中，您需要将 aapt 路径添加到您的环境变量中
        echo 'export PATH="$PATH:$HOME/Android-Sdk/cmdline-tools/bin"' >>~/.bashrc
        . ~/.bashrc

        # 安装
        echo ""
        echo "正在安装build-tools和platform-tools"
        echo ""
        yes | sdkmanager --sdk_root=$HOME/Android-Sdk "platform-tools" >/dev/null 2>&1
        if [ $? -eq 0 ]; then
            echo "platform-tools 下载完成。"
        else
            echo "platform-tools 下载失败。"
        fi
        echo 'export PATH="$PATH::$HOME/Android-Sdk/platform-tools"' >>~/.bashrc
        . ~/.bashrc

        yes | sdkmanager --sdk_root=$HOME/Android-Sdk "build-tools;30.0.3" >/dev/null 2>&1
        if [ $? -eq 0 ]; then
            echo "build-tools 下载完成。"
        else
            echo "build-tools 下载失败。"
        fi

        yes | sdkmanager --sdk_root=$HOME/Android-Sdk "platforms;android-29" >/dev/null 2>&1
        if [ $? -eq 0 ]; then
            echo "platforms 下载完成。"
        else
            echo "platforms 下载失败。"
        fi

        echo 'export PATH="$PATH:$HOME/Android-Sdk/build-tools/30.0.3"' >>~/.bashrc
        echo 'export PATH="$PATH:$HOME/Android-Sdk/platforms/android-29"' >>~/.bashrc
        . ~/.bashrc
    else
        echo "commandlinetools 解压失败。"
    fi

}

# 检查文件是否已经存在
if [ -f "$COMMAND_LINE_TOOLS_ZIP" ]; then
    echo "commandlinetools 已存在，无需再下载。"
    function_jieya_CT "$COMMAND_LINE_TOOLS_ZIP" "$DOWNLOAD_URL"
else
    echo "commandlinetools 开始下载……"
    # 下载命令行工具
    wget -q --show-progress --progress=bar "$DOWNLOAD_URL" -O "$COMMAND_LINE_TOOLS_ZIP"
    # 检查下载命令的执行状态
    if [ $? -eq 0 ]; then
        echo "commandlinetools 下载完成。"
        function_jieya_CT "$COMMAND_LINE_TOOLS_ZIP" "$DOWNLOAD_URL"
    else
        echo "commandlinetools 下载失败。"
    fi
fi

echo "脚本已运行完成,请检查是否有错误"
